﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR87Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR87Response {
        
        private string @__info;
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR87Response.IIsikuandmedType> @__isikuandmed = new System.Collections.Generic.List<RR87Response.IIsikuandmedType>();
        
        public RR87Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR87Response(string @info, decimal @veakood, string @veatekst, System.Collections.Generic.List<RR87Response.IIsikuandmedType> @isikuandmed) {
            this.@__info = @info;
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isikuandmed = @isikuandmed;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR87Response(IRR87Response @rR87Response) {
            this.@__info = @rR87Response.Info;
            this.@__veakood = @rR87Response.Veakood;
            this.@__veatekst = @rR87Response.Veatekst;
            this.@__isikuandmed = @rR87Response.Isikuandmed;
        }
        
        public virtual string Info {
            get {
                return this.@__info;
            }
            set {
                this.@__info = value;
            }
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR87Response.IIsikuandmedType> Isikuandmed {
            get {
                return this.@__isikuandmed;
            }
            set {
                this.@__isikuandmed = value;
            }
        }
        
        public partial class IsikuandmedType : IIsikuandmedType {
            
            private string @__isikuandmedIsikukood;
            
            private string @__isikuandmedEesnimi;
            
            private string @__isikuandmedPerenimi;
            
            private string @__isikuandmedIsikuStaatus;
            
            private string @__isikuandmedSurmaaeg;
            
            private string @__isikuandmedKodakondsuskood;
            
            private string @__isikuandmedKodakondsustekstina;
            
            private string @__isikuandmedEKodakondsuskood;
            
            private string @__isikuandmedEKodakondsustekstina;
            
            private string @__isikuandmedAadressTekstina;
            
            private string @__isikuandmedSideaadress;
            
            public IsikuandmedType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikuandmedType(string @isikuandmedIsikukood, string @isikuandmedEesnimi, string @isikuandmedPerenimi, string @isikuandmedIsikuStaatus, string @isikuandmedSurmaaeg, string @isikuandmedKodakondsuskood, string @isikuandmedKodakondsustekstina, string @isikuandmedEKodakondsuskood, string @isikuandmedEKodakondsustekstina, string @isikuandmedAadressTekstina, string @isikuandmedSideaadress) {
                this.@__isikuandmedIsikukood = @isikuandmedIsikukood;
                this.@__isikuandmedEesnimi = @isikuandmedEesnimi;
                this.@__isikuandmedPerenimi = @isikuandmedPerenimi;
                this.@__isikuandmedIsikuStaatus = @isikuandmedIsikuStaatus;
                this.@__isikuandmedSurmaaeg = @isikuandmedSurmaaeg;
                this.@__isikuandmedKodakondsuskood = @isikuandmedKodakondsuskood;
                this.@__isikuandmedKodakondsustekstina = @isikuandmedKodakondsustekstina;
                this.@__isikuandmedEKodakondsuskood = @isikuandmedEKodakondsuskood;
                this.@__isikuandmedEKodakondsustekstina = @isikuandmedEKodakondsustekstina;
                this.@__isikuandmedAadressTekstina = @isikuandmedAadressTekstina;
                this.@__isikuandmedSideaadress = @isikuandmedSideaadress;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikuandmedType(IIsikuandmedType @isikuandmedType) {
                this.@__isikuandmedIsikukood = @isikuandmedType.IsikuandmedIsikukood;
                this.@__isikuandmedEesnimi = @isikuandmedType.IsikuandmedEesnimi;
                this.@__isikuandmedPerenimi = @isikuandmedType.IsikuandmedPerenimi;
                this.@__isikuandmedIsikuStaatus = @isikuandmedType.IsikuandmedIsikuStaatus;
                this.@__isikuandmedSurmaaeg = @isikuandmedType.IsikuandmedSurmaaeg;
                this.@__isikuandmedKodakondsuskood = @isikuandmedType.IsikuandmedKodakondsuskood;
                this.@__isikuandmedKodakondsustekstina = @isikuandmedType.IsikuandmedKodakondsustekstina;
                this.@__isikuandmedEKodakondsuskood = @isikuandmedType.IsikuandmedEKodakondsuskood;
                this.@__isikuandmedEKodakondsustekstina = @isikuandmedType.IsikuandmedEKodakondsustekstina;
                this.@__isikuandmedAadressTekstina = @isikuandmedType.IsikuandmedAadressTekstina;
                this.@__isikuandmedSideaadress = @isikuandmedType.IsikuandmedSideaadress;
            }
            
            public virtual string IsikuandmedIsikukood {
                get {
                    return this.@__isikuandmedIsikukood;
                }
                set {
                    this.@__isikuandmedIsikukood = value;
                }
            }
            
            public virtual string IsikuandmedEesnimi {
                get {
                    return this.@__isikuandmedEesnimi;
                }
                set {
                    this.@__isikuandmedEesnimi = value;
                }
            }
            
            public virtual string IsikuandmedPerenimi {
                get {
                    return this.@__isikuandmedPerenimi;
                }
                set {
                    this.@__isikuandmedPerenimi = value;
                }
            }
            
            public virtual string IsikuandmedIsikuStaatus {
                get {
                    return this.@__isikuandmedIsikuStaatus;
                }
                set {
                    this.@__isikuandmedIsikuStaatus = value;
                }
            }
            
            public virtual string IsikuandmedSurmaaeg {
                get {
                    return this.@__isikuandmedSurmaaeg;
                }
                set {
                    this.@__isikuandmedSurmaaeg = value;
                }
            }
            
            public virtual string IsikuandmedKodakondsuskood {
                get {
                    return this.@__isikuandmedKodakondsuskood;
                }
                set {
                    this.@__isikuandmedKodakondsuskood = value;
                }
            }
            
            public virtual string IsikuandmedKodakondsustekstina {
                get {
                    return this.@__isikuandmedKodakondsustekstina;
                }
                set {
                    this.@__isikuandmedKodakondsustekstina = value;
                }
            }
            
            public virtual string IsikuandmedEKodakondsuskood {
                get {
                    return this.@__isikuandmedEKodakondsuskood;
                }
                set {
                    this.@__isikuandmedEKodakondsuskood = value;
                }
            }
            
            public virtual string IsikuandmedEKodakondsustekstina {
                get {
                    return this.@__isikuandmedEKodakondsustekstina;
                }
                set {
                    this.@__isikuandmedEKodakondsustekstina = value;
                }
            }
            
            public virtual string IsikuandmedAadressTekstina {
                get {
                    return this.@__isikuandmedAadressTekstina;
                }
                set {
                    this.@__isikuandmedAadressTekstina = value;
                }
            }
            
            public virtual string IsikuandmedSideaadress {
                get {
                    return this.@__isikuandmedSideaadress;
                }
                set {
                    this.@__isikuandmedSideaadress = value;
                }
            }
        }
        
        public interface IIsikuandmedType {
            
            string IsikuandmedIsikukood {
                get;
                set;
            }
            
            string IsikuandmedEesnimi {
                get;
                set;
            }
            
            string IsikuandmedPerenimi {
                get;
                set;
            }
            
            string IsikuandmedIsikuStaatus {
                get;
                set;
            }
            
            string IsikuandmedSurmaaeg {
                get;
                set;
            }
            
            string IsikuandmedKodakondsuskood {
                get;
                set;
            }
            
            string IsikuandmedKodakondsustekstina {
                get;
                set;
            }
            
            string IsikuandmedEKodakondsuskood {
                get;
                set;
            }
            
            string IsikuandmedEKodakondsustekstina {
                get;
                set;
            }
            
            string IsikuandmedAadressTekstina {
                get;
                set;
            }
            
            string IsikuandmedSideaadress {
                get;
                set;
            }
        }
    }
}
